package com.ltkj.ticket.mapper;

import com.ltkj.ticket.domain.TicVenues;
import com.ltkj.ticket.domain.dto.TicVenuesFrontQueryDTO;
import com.ltkj.ticket.domain.vo.TicVenuesFrontQueryVO;
import com.ltkj.ticket.domain.vo.TicVenuesPeriodFrontListVO;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * @Author gushaoliang
 * @Date 2023/9/1 9:46
 * @PackageName:com.ltkj.ticket.mapper
 * @ClassName: TicVenuesFrontMapper
 * @Description: TODO
 * @Version 1.0
 */
public interface TicVenuesFrontMapper {
    /*
     * @description:小程序查询场馆列表
     * @author: gushaoliang
     * @date: 2023/9/1 9:49
     * @param: [ticVenuesFrontQueryDTO]
     * @return: java.util.List<com.ltkj.ticket.domain.vo.TicVenuesFrontQueryVO>
     **/
    List<TicVenuesFrontQueryVO> searchVenuesFront(TicVenuesFrontQueryDTO ticVenuesFrontQueryDTO);

    /*
     * @description:当日可预约时间段
     * @author: gushaoliang 
     * @date: 2023/9/1 10:00
     * @param: [ticOtherBaseId]
     * @return: java.util.List<java.lang.String>
     **/
    List<String> searchVenuesFrontTimeList(Long ticOtherBaseId);
    TicVenues searchVenuesFrontByBaseId(@Param("ticOtherBaseId")Long ticOtherBaseId, @Param("venuesDate")Date venuesDate);
    /*
     * @description:最近有票的数据
     * @author: gushaoliang
     * @date: 2023/9/24 15:55
     * @param: [ticOtherBaseId]
     * @return: java.util.Date
     **/
    Date searchVenuesFrontByBaseIdDate(@Param("ticOtherBaseId")Long ticOtherBaseId);
    List<String> searchVenuesFrontByBaseIdDateV2(@Param("ticOtherBaseId")Long ticOtherBaseId);
    /*
     * @description:查询当前场馆今日时间段
     * @author: gushaoliang
     * @date: 2023/9/1 15:00
     * @param: []
     * @return: java.util.List<com.ltkj.ticket.domain.vo.TicVenuesPeriodFrontListVO>
     **/
    List<TicVenuesPeriodFrontListVO> searchTicVenuesPeriodFrontList(@Param("ticOtherBaseId")Long ticOtherBaseId, @Param("venuesDate")Date venuesDate);
    List<TicVenuesPeriodFrontListVO> searchTicVenuesPeriodFrontListLogin(@Param("ticOtherBaseId")Long ticOtherBaseId, @Param("venuesDate")Date venuesDate,@Param("userId")Long userId);
    TicVenues queryByOtherBaseId(Long ticOtherBaseId);


}
